/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * FichaMortalidadPacientePresentacion.java
 *
 * Created on 31-ago-2010, 11:35:04
 */

package presentacion.paciente;

import com.toedter.calendar.IDateEditor;
import hibernate.objeto.FichaMortalidad;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Calendar;
import java.util.Date;
import javax.swing.JEditorPane;
import javax.swing.JOptionPane;
import javax.swing.JSpinner;
import javax.swing.JSpinner.DefaultEditor;
import javax.swing.SpinnerDateModel;
import logica.CapaLogica;
import logica.FichaMortalidadLogica;
import logica.validacion.CapaValidacion;
import presentacion.CapaPresentacion;
import presentacion.GestionPacientePresentacion;
import presentacion.acceso.RestriccionAcceso;
import presentacion.utilidad.maquetado.Fuente;
import presentacion.utilidad.maquetado.Icono;
import presentacion.utilidad.maquetado.InformeError;
import presentacion.utilidad.BarMenu;
import presentacion.utilidad.MensajePresentacion;

/**
 *
 * @author Administrador
 */
public class FichaMortalidadPacientePresentacion extends javax.swing.JDialog {

    /** Creates new form FichaMortalidadPacientePresentacion */
    public FichaMortalidadPacientePresentacion(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();

        this.fichaMortalidad = 
                GestionPacientePresentacion.getPaciente().getFichaMortalidad();
        cargoFichaMortalidad = false;

        setSize(CapaPresentacion.getTamañoMaximoJDialog());
        setLocationRelativeTo(null);
        personalizarGUI();
        setearEventosQueCapturanTeclaEnterYEscape();
    }

    private void personalizarGUI() {
        //Crea la barra de menu
        this.setJMenuBar(BarMenu.
                createMenuBarFichaMortalidadPacientePresentacion(this));
        
        if (CapaPresentacion.modoCarga) {
            modoCarga();
        } else if (CapaPresentacion.modoModificacion) {
            modoModificacion();
        } else if (CapaPresentacion.modoVisualizacion) {
            modoVisualizacion();
        }
    }

    /**
     * Setea la ventana en modo carga.
     *
     */
    private void modoCarga() {
        fechaDeMuerte.setDate(new Date());
    }

    /**
     * Setea la ventana en modo modificación.
     * 
     */
    private void modoModificacion() {
        exhibirDatosEnPantalla();
    }

    /**
     * Setea la ventana en modo visualización.
     *
     */
    private void modoVisualizacion() {
        setearEstadoCampos(false);
        exhibirDatosEnPantalla();
        botonCancelar.requestFocus();
        CapaPresentacion.personalizarBotonesEnVisualizacion(
                textoDescriptivoVentana, botonAceptar, botonCancelar);
    }

    /**
     * Carga los datos de la ficha de mortalidad del paciente en pantalla.
     *
     */
    private void exhibirDatosEnPantalla() {
        if(fichaMortalidad != null) {
            exhibirDatosLugarYFecha(fichaMortalidad);
            exhibirDatosParteI(fichaMortalidad);
            exhibirDatosCausas(fichaMortalidad);
            exhibirDatosParteII(fichaMortalidad);
            exhibirDatosForma(fichaMortalidad);
            exhibirDatosDonante(fichaMortalidad);
        }
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * lugar y fecha.
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosLugarYFecha(FichaMortalidad fichaMortalidad) {
        horaDeMuerteSpinner.getModel().setValue(new Date(0, 0, 0,
                CapaLogica.separarHoras(
                fichaMortalidad.getHoraDeMuerteFichaMortalidad()),
                CapaLogica.separarMinutos(
                    fichaMortalidad.getHoraDeMuerteFichaMortalidad()),
                CapaLogica.separarSegundos(
                fichaMortalidad.getHoraDeMuerteFichaMortalidad())));

        fechaDeMuerte.setDate(fichaMortalidad.getFechaDeMuerteFichaMortalidad());

        if (!fichaMortalidad.getLugarDeMuerteFichaMortalidad().isEmpty()) {
            lugarDeMuerte.setText(fichaMortalidad.getLugarDeMuerteFichaMortalidad());
            lugarDeMuerte.setCaretPosition(0);
        }
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * parte I.
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosParteI(FichaMortalidad fichaMortalidad) {
        debidoAEnfermedad.setText(fichaMortalidad.getTextoAFichaMortalidad());
        debidoAEnfermedad.setCaretPosition(0);
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * causas, antecedentes...
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosCausas(FichaMortalidad fichaMortalidad) {
        if (!fichaMortalidad.getTextoBFichaMortalidad().isEmpty()) {
            debidoBCausas.setText(fichaMortalidad.getTextoBFichaMortalidad());
            debidoBCausas.setCaretPosition(0);
        }

        if (!fichaMortalidad.getTextoCFichaMortalidad().isEmpty()) {
            debidoCCausas.setText(fichaMortalidad.getTextoCFichaMortalidad());
            debidoCCausas.setCaretPosition(0);
        }

        if (!fichaMortalidad.getTextoDFichaMortalidad().isEmpty()) {
            debidoDCausas.setText(fichaMortalidad.getTextoDFichaMortalidad());
            debidoDCausas.setCaretPosition(0);
        }

        if (!fichaMortalidad.getTextoEFichaMortalidad().isEmpty()) {
            debidoECausas.setText(fichaMortalidad.getTextoEFichaMortalidad());
            debidoECausas.setCaretPosition(0);
        }
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * parte II.
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosParteII(FichaMortalidad fichaMortalidad) {
        if (!fichaMortalidad.getTextoFFichaMortalidad().isEmpty()) {
            otrasCondicionesFCondiciones.setText(fichaMortalidad.
                    getTextoFFichaMortalidad());
            otrasCondicionesFCondiciones.setCaretPosition(0);
        }

        if (!fichaMortalidad.getTextoGFichaMortalidad().isEmpty()) {
            otrasCondicionesGCondiciones.setText(fichaMortalidad.
                    getTextoGFichaMortalidad());
            otrasCondicionesGCondiciones.setCaretPosition(0);
        }

        if (!fichaMortalidad.getTextoHFichaMortalidad().isEmpty()) {
            otrasCondicionesHCondiciones.setText(fichaMortalidad.
                    getTextoHFichaMortalidad());
            otrasCondicionesHCondiciones.setCaretPosition(0);
        }
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * forma.
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosForma(FichaMortalidad fichaMortalidad) {
        if (fichaMortalidad.getFormaDeMuerteFichaMortalidad().equalsIgnoreCase(
                "natural")) {
            naturalFormaDeMuerte.setSelected(true);
        } else if (fichaMortalidad.getFormaDeMuerteFichaMortalidad().equalsIgnoreCase(
                "homicidio")) {
            homicidioFormaDeMuerte.setSelected(true);
        } else if (fichaMortalidad.getFormaDeMuerteFichaMortalidad().equalsIgnoreCase(
                "accidental")) {
            accidentalFormaDeMuerte.setSelected(true);
        } else if (fichaMortalidad.getFormaDeMuerteFichaMortalidad().equalsIgnoreCase(
                "no determinada")) {
            noDeterminadaFormaDeMuerte.setSelected(true);
        } else if (fichaMortalidad.getFormaDeMuerteFichaMortalidad().equalsIgnoreCase(
                "suicidio")) {
            suicidioFormaDeMuerte.setSelected(true);
        }
    }

    /**
     * Carga los datos de la ficha de mortalidad correspondiente al panel de
     * donante.
     *
     * @param fichaMortalidad La ficha de mortalidad a modificar del paciente
     */
    private void exhibirDatosDonante(FichaMortalidad fichaMortalidad) {
        if (fichaMortalidad.getDonanteFichaMortalidad().equals("si")) {
            siDonante.setSelected(true);
        } else if (fichaMortalidad.getDonanteFichaMortalidad().equals("no")) {
            noDonante.setSelected(true);
        }
    }
    
    /**
     * Pone en false la propiedad enabled de todos los campos de ingreso.
     *
     * @param estado El estado a setear
     */
    private void setearEstadoCampos(boolean estado) {
        horaDeMuerteSpinner.setEnabled(estado);
        fechaDeMuerte.setEnabled(estado);
        lugarDeMuerte.setEnabled(estado);
        debidoAEnfermedad.setEnabled(estado);
        debidoBCausas.setEnabled(estado);
        debidoCCausas.setEnabled(estado);
        debidoDCausas.setEnabled(estado);
        debidoECausas.setEnabled(estado);
        otrasCondicionesFCondiciones.setEnabled(estado);
        otrasCondicionesGCondiciones.setEnabled(estado);
        otrasCondicionesHCondiciones.setEnabled(estado);
        naturalFormaDeMuerte.setEnabled(estado);
        homicidioFormaDeMuerte.setEnabled(estado);
        accidentalFormaDeMuerte.setEnabled(estado);
        noDeterminadaFormaDeMuerte.setEnabled(estado);
        suicidioFormaDeMuerte.setEnabled(estado);
        siDonante.setEnabled(estado);
        noDonante.setEnabled(estado);
    }            
    
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        botonAceptar = new javax.swing.JButton();
        botonCancelar = new javax.swing.JButton();
        panelLugarYFecha = new javax.swing.JPanel();
        textoHoraYFechaDeMuerte = new javax.swing.JLabel();
        fechaDeMuerte = new com.toedter.calendar.JDateChooser();
        textoLugarDeMuerte = new javax.swing.JLabel();
        SpinnerDateModel spinerModel = new SpinnerDateModel(new Date(0, 0, 0, 0, 0, 0), null, null, Calendar.HOUR_OF_DAY);
        horaDeMuerteSpinner = new javax.swing.JSpinner(spinerModel);
        lugarDeMuerteScrollPanel = new javax.swing.JScrollPane();
        lugarDeMuerte = new javax.swing.JTextArea();
        textoDescriptivoVentana = new javax.swing.JLabel();
        panelParteI = new javax.swing.JPanel();
        textoDebidoAEnfermedad = new javax.swing.JLabel();
        debidoAEnfermedadScrollPanel = new javax.swing.JScrollPane();
        debidoAEnfermedad = new javax.swing.JTextArea();
        panelParteI1 = new javax.swing.JPanel();
        textoDebidoBCausas = new javax.swing.JLabel();
        debidoBCausasScrollPanel = new javax.swing.JScrollPane();
        debidoBCausas = new javax.swing.JTextArea();
        textoDebidoCCausas = new javax.swing.JLabel();
        debidoCCausasScrollPanel = new javax.swing.JScrollPane();
        debidoCCausas = new javax.swing.JTextArea();
        textoDebidoDCausas = new javax.swing.JLabel();
        debidoDCausasScrollPanel = new javax.swing.JScrollPane();
        debidoDCausas = new javax.swing.JTextArea();
        textoDebidoECausas = new javax.swing.JLabel();
        debidoECausasScrollPanel = new javax.swing.JScrollPane();
        debidoECausas = new javax.swing.JTextArea();
        panelParteII = new javax.swing.JPanel();
        textoOtrasCondicionesFCondiciones = new javax.swing.JLabel();
        otrasCondicionesFCondicionesScrollPanel = new javax.swing.JScrollPane();
        otrasCondicionesFCondiciones = new javax.swing.JTextArea();
        textoOtrasCondicionesGCondiciones = new javax.swing.JLabel();
        otrasCondicionesgCondicionesScrollPanel = new javax.swing.JScrollPane();
        otrasCondicionesGCondiciones = new javax.swing.JTextArea();
        textoOtrasCondicionesHCondiciones = new javax.swing.JLabel();
        otrasCondicionesHCondicionesScrollPanel = new javax.swing.JScrollPane();
        otrasCondicionesHCondiciones = new javax.swing.JTextArea();
        panelFormaDeMuerte = new javax.swing.JPanel();
        naturalFormaDeMuerte = new javax.swing.JRadioButton();
        homicidioFormaDeMuerte = new javax.swing.JRadioButton();
        accidentalFormaDeMuerte = new javax.swing.JRadioButton();
        noDeterminadaFormaDeMuerte = new javax.swing.JRadioButton();
        suicidioFormaDeMuerte = new javax.swing.JRadioButton();
        textoFormaDeMuerte = new javax.swing.JLabel();
        panelDonante = new javax.swing.JPanel();
        siDonante = new javax.swing.JRadioButton();
        noDonante = new javax.swing.JRadioButton();
        textoDonante = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Ficha de Mortalidad");

        botonAceptar.setIcon(Icono.ICONO_16_ACEPTAR);
        botonAceptar.setText("Aceptar");
        botonAceptar.setToolTipText("Agrega la ficha de mortalidad");
        botonAceptar.setMinimumSize(null);
        botonAceptar.setPreferredSize(new java.awt.Dimension(110, 23));
        botonAceptar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonAceptarActionPerformed(evt);
            }
        });

        botonCancelar.setIcon(Icono.ICONO_16_CANCELAR);
        botonCancelar.setText("Cancelar");
        botonCancelar.setToolTipText("Cancela la operación");
        botonCancelar.setMinimumSize(null);
        botonCancelar.setPreferredSize(new java.awt.Dimension(110, 23));
        botonCancelar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                botonCancelarActionPerformed(evt);
            }
        });

        panelLugarYFecha.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Lugar y fecha de muerte", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelLugarYFecha.setForeground(Fuente.COLOR_NORMAL);
        panelLugarYFecha.setPreferredSize(new java.awt.Dimension(497, 124));

        textoHoraYFechaDeMuerte.setFont(Fuente.FUENTE_LABEL);
        textoHoraYFechaDeMuerte.setForeground(Fuente.COLOR_NORMAL);
        textoHoraYFechaDeMuerte.setText("Hora y fecha");
        textoHoraYFechaDeMuerte.setPreferredSize(new java.awt.Dimension(100, 20));

        fechaDeMuerte.setToolTipText("");
        fechaDeMuerte.setMaxSelectableDate(new Date());
        fechaDeMuerte.setMinSelectableDate(new java.util.Date(-2208985673000L));
        fechaDeMuerte.setPreferredSize(new java.awt.Dimension(140, 20));

        textoLugarDeMuerte.setFont(Fuente.FUENTE_LABEL);
        textoLugarDeMuerte.setForeground(Fuente.COLOR_NORMAL);
        textoLugarDeMuerte.setText("Lugar");
        textoLugarDeMuerte.setPreferredSize(new java.awt.Dimension(100, 20));

        JSpinner.DateEditor horaDeMuerte = new JSpinner.DateEditor(horaDeMuerteSpinner, "HH:mm:ss");
        horaDeMuerteSpinner.setEditor(horaDeMuerte);
        horaDeMuerteSpinner.setFont(Fuente.FUENTE_TEXTFIELD);

        lugarDeMuerteScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        lugarDeMuerteScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        lugarDeMuerte.setColumns(20);
        lugarDeMuerte.setFont(Fuente.FUENTE_TEXTFIELD);
        lugarDeMuerte.setForeground(Fuente.COLOR_NORMAL);
        lugarDeMuerte.setLineWrap(true);
        lugarDeMuerte.setRows(2);
        lugarDeMuerte.setWrapStyleWord(true);
        lugarDeMuerte.setMinimumSize(new java.awt.Dimension(0, 0));
        lugarDeMuerteScrollPanel.setViewportView(lugarDeMuerte);

        javax.swing.GroupLayout panelLugarYFechaLayout = new javax.swing.GroupLayout(panelLugarYFecha);
        panelLugarYFecha.setLayout(panelLugarYFechaLayout);
        panelLugarYFechaLayout.setHorizontalGroup(
            panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelLugarYFechaLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(textoLugarDeMuerte, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(textoHoraYFechaDeMuerte, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelLugarYFechaLayout.createSequentialGroup()
                        .addComponent(horaDeMuerteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(fechaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(lugarDeMuerteScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                .addContainerGap())
        );
        panelLugarYFechaLayout.setVerticalGroup(
            panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelLugarYFechaLayout.createSequentialGroup()
                .addGroup(panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(textoHoraYFechaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(horaDeMuerteSpinner, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(fechaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelLugarYFechaLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoLugarDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(lugarDeMuerteScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE))
                .addContainerGap(15, Short.MAX_VALUE))
        );

        textoDescriptivoVentana.setFont(Fuente.FUENTE_TITULO_2);
        textoDescriptivoVentana.setForeground(Fuente.COLOR_NORMAL);
        textoDescriptivoVentana.setText("Ingrese los datos de la ficha de mortalidad");
        textoDescriptivoVentana.setPreferredSize(new java.awt.Dimension(424, 20));

        panelParteI.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Parte I - Enfermedad o condición causante directa", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelParteI.setForeground(Fuente.COLOR_NORMAL);
        panelParteI.setPreferredSize(new java.awt.Dimension(497, 124));

        textoDebidoAEnfermedad.setFont(Fuente.FUENTE_LABEL);
        textoDebidoAEnfermedad.setForeground(Fuente.COLOR_NORMAL);
        textoDebidoAEnfermedad.setText("a) Debido a");
        textoDebidoAEnfermedad.setPreferredSize(new java.awt.Dimension(100, 20));

        debidoAEnfermedadScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        debidoAEnfermedadScrollPanel.setMinimumSize(new java.awt.Dimension(0, 0));
        debidoAEnfermedadScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        debidoAEnfermedad.setColumns(20);
        debidoAEnfermedad.setFont(Fuente.FUENTE_TEXTFIELD);
        debidoAEnfermedad.setForeground(Fuente.COLOR_NORMAL);
        debidoAEnfermedad.setLineWrap(true);
        debidoAEnfermedad.setRows(2);
        debidoAEnfermedad.setWrapStyleWord(true);
        debidoAEnfermedadScrollPanel.setViewportView(debidoAEnfermedad);

        javax.swing.GroupLayout panelParteILayout = new javax.swing.GroupLayout(panelParteI);
        panelParteI.setLayout(panelParteILayout);
        panelParteILayout.setHorizontalGroup(
            panelParteILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteILayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(textoDebidoAEnfermedad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(debidoAEnfermedadScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE)
                .addContainerGap())
        );
        panelParteILayout.setVerticalGroup(
            panelParteILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteILayout.createSequentialGroup()
                .addGroup(panelParteILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoDebidoAEnfermedad, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(debidoAEnfermedadScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE))
                .addContainerGap())
        );

        panelParteI1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Causas, antecedentes, comorbilidades que determinan la causa superior", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelParteI1.setForeground(Fuente.COLOR_NORMAL);
        panelParteI1.setPreferredSize(new java.awt.Dimension(497, 279));

        textoDebidoBCausas.setFont(Fuente.FUENTE_LABEL);
        textoDebidoBCausas.setForeground(Fuente.COLOR_NORMAL);
        textoDebidoBCausas.setText("b) Debido a");
        textoDebidoBCausas.setPreferredSize(new java.awt.Dimension(100, 20));

        debidoBCausasScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        debidoBCausasScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        debidoBCausas.setColumns(20);
        debidoBCausas.setFont(Fuente.FUENTE_TEXTFIELD);
        debidoBCausas.setForeground(Fuente.COLOR_NORMAL);
        debidoBCausas.setLineWrap(true);
        debidoBCausas.setRows(2);
        debidoBCausas.setWrapStyleWord(true);
        debidoBCausasScrollPanel.setViewportView(debidoBCausas);

        textoDebidoCCausas.setFont(Fuente.FUENTE_LABEL);
        textoDebidoCCausas.setForeground(Fuente.COLOR_NORMAL);
        textoDebidoCCausas.setText("c) Debido a");
        textoDebidoCCausas.setPreferredSize(new java.awt.Dimension(100, 20));

        debidoCCausasScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        debidoCCausasScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        debidoCCausas.setColumns(20);
        debidoCCausas.setFont(Fuente.FUENTE_TEXTFIELD);
        debidoCCausas.setForeground(Fuente.COLOR_NORMAL);
        debidoCCausas.setLineWrap(true);
        debidoCCausas.setRows(2);
        debidoCCausas.setWrapStyleWord(true);
        debidoCCausasScrollPanel.setViewportView(debidoCCausas);

        textoDebidoDCausas.setFont(Fuente.FUENTE_LABEL);
        textoDebidoDCausas.setForeground(Fuente.COLOR_NORMAL);
        textoDebidoDCausas.setText("d) Debido a");
        textoDebidoDCausas.setPreferredSize(new java.awt.Dimension(100, 20));

        debidoDCausasScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        debidoDCausasScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        debidoDCausas.setColumns(20);
        debidoDCausas.setFont(Fuente.FUENTE_TEXTFIELD);
        debidoDCausas.setForeground(Fuente.COLOR_NORMAL);
        debidoDCausas.setLineWrap(true);
        debidoDCausas.setRows(2);
        debidoDCausas.setWrapStyleWord(true);
        debidoDCausasScrollPanel.setViewportView(debidoDCausas);

        textoDebidoECausas.setFont(Fuente.FUENTE_LABEL);
        textoDebidoECausas.setForeground(Fuente.COLOR_NORMAL);
        textoDebidoECausas.setText("e) Debido a");
        textoDebidoECausas.setPreferredSize(new java.awt.Dimension(100, 20));

        debidoECausasScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        debidoECausasScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        debidoECausas.setColumns(20);
        debidoECausas.setFont(Fuente.FUENTE_TEXTFIELD);
        debidoECausas.setForeground(Fuente.COLOR_NORMAL);
        debidoECausas.setLineWrap(true);
        debidoECausas.setRows(2);
        debidoECausas.setWrapStyleWord(true);
        debidoECausasScrollPanel.setViewportView(debidoECausas);

        javax.swing.GroupLayout panelParteI1Layout = new javax.swing.GroupLayout(panelParteI1);
        panelParteI1.setLayout(panelParteI1Layout);
        panelParteI1Layout.setHorizontalGroup(
            panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteI1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelParteI1Layout.createSequentialGroup()
                        .addComponent(textoDebidoBCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(debidoBCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParteI1Layout.createSequentialGroup()
                        .addComponent(textoDebidoCCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(debidoCCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParteI1Layout.createSequentialGroup()
                        .addComponent(textoDebidoDCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(debidoDCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                    .addGroup(panelParteI1Layout.createSequentialGroup()
                        .addComponent(textoDebidoECausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(debidoECausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE)))
                .addContainerGap())
        );
        panelParteI1Layout.setVerticalGroup(
            panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteI1Layout.createSequentialGroup()
                .addGroup(panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoDebidoBCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(debidoBCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(debidoCCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE)
                    .addComponent(textoDebidoCCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(debidoDCausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE)
                    .addComponent(textoDebidoDCausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelParteI1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoDebidoECausas, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(debidoECausasScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE))
                .addContainerGap())
        );

        panelParteII.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Parte II – Condiciones que contribuyen a la muerte sin estar relacionadas", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelParteII.setForeground(Fuente.COLOR_NORMAL);
        panelParteII.setPreferredSize(new java.awt.Dimension(497, 279));

        textoOtrasCondicionesFCondiciones.setFont(Fuente.FUENTE_LABEL);
        textoOtrasCondicionesFCondiciones.setForeground(Fuente.COLOR_NORMAL);
        textoOtrasCondicionesFCondiciones.setText("f) Otras condiciones");
        textoOtrasCondicionesFCondiciones.setPreferredSize(new java.awt.Dimension(100, 20));

        otrasCondicionesFCondicionesScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        otrasCondicionesFCondicionesScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        otrasCondicionesFCondiciones.setColumns(20);
        otrasCondicionesFCondiciones.setFont(Fuente.FUENTE_TEXTFIELD);
        otrasCondicionesFCondiciones.setForeground(Fuente.COLOR_NORMAL);
        otrasCondicionesFCondiciones.setLineWrap(true);
        otrasCondicionesFCondiciones.setRows(2);
        otrasCondicionesFCondiciones.setWrapStyleWord(true);
        otrasCondicionesFCondicionesScrollPanel.setViewportView(otrasCondicionesFCondiciones);

        textoOtrasCondicionesGCondiciones.setFont(Fuente.FUENTE_LABEL);
        textoOtrasCondicionesGCondiciones.setForeground(Fuente.COLOR_NORMAL);
        textoOtrasCondicionesGCondiciones.setText("g) Otras condiciones");
        textoOtrasCondicionesGCondiciones.setPreferredSize(new java.awt.Dimension(100, 20));

        otrasCondicionesgCondicionesScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        otrasCondicionesgCondicionesScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        otrasCondicionesGCondiciones.setColumns(20);
        otrasCondicionesGCondiciones.setFont(Fuente.FUENTE_TEXTFIELD);
        otrasCondicionesGCondiciones.setForeground(Fuente.COLOR_NORMAL);
        otrasCondicionesGCondiciones.setLineWrap(true);
        otrasCondicionesGCondiciones.setRows(2);
        otrasCondicionesGCondiciones.setWrapStyleWord(true);
        otrasCondicionesgCondicionesScrollPanel.setViewportView(otrasCondicionesGCondiciones);

        textoOtrasCondicionesHCondiciones.setFont(Fuente.FUENTE_LABEL);
        textoOtrasCondicionesHCondiciones.setForeground(Fuente.COLOR_NORMAL);
        textoOtrasCondicionesHCondiciones.setText("h) Otras condiciones");
        textoOtrasCondicionesHCondiciones.setPreferredSize(new java.awt.Dimension(100, 20));

        otrasCondicionesHCondicionesScrollPanel.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        otrasCondicionesHCondicionesScrollPanel.setPreferredSize(new java.awt.Dimension(355, 70));

        otrasCondicionesHCondiciones.setColumns(20);
        otrasCondicionesHCondiciones.setFont(Fuente.FUENTE_TEXTFIELD);
        otrasCondicionesHCondiciones.setForeground(Fuente.COLOR_NORMAL);
        otrasCondicionesHCondiciones.setLineWrap(true);
        otrasCondicionesHCondiciones.setRows(2);
        otrasCondicionesHCondiciones.setWrapStyleWord(true);
        otrasCondicionesHCondicionesScrollPanel.setViewportView(otrasCondicionesHCondiciones);

        javax.swing.GroupLayout panelParteIILayout = new javax.swing.GroupLayout(panelParteII);
        panelParteII.setLayout(panelParteIILayout);
        panelParteIILayout.setHorizontalGroup(
            panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteIILayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelParteIILayout.createSequentialGroup()
                        .addComponent(textoOtrasCondicionesFCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(otrasCondicionesFCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParteIILayout.createSequentialGroup()
                        .addComponent(textoOtrasCondicionesGCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(otrasCondicionesgCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, panelParteIILayout.createSequentialGroup()
                        .addComponent(textoOtrasCondicionesHCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(otrasCondicionesHCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 361, Short.MAX_VALUE)))
                .addContainerGap())
        );
        panelParteIILayout.setVerticalGroup(
            panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelParteIILayout.createSequentialGroup()
                .addGroup(panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(otrasCondicionesFCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 71, Short.MAX_VALUE)
                    .addComponent(textoOtrasCondicionesFCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(otrasCondicionesgCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE)
                    .addComponent(textoOtrasCondicionesGCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelParteIILayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(textoOtrasCondicionesHCondiciones, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(otrasCondicionesHCondicionesScrollPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 72, Short.MAX_VALUE))
                .addContainerGap(92, Short.MAX_VALUE))
        );

        panelFormaDeMuerte.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Forma de muerte", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelFormaDeMuerte.setForeground(Fuente.COLOR_NORMAL);
        panelFormaDeMuerte.setPreferredSize(new java.awt.Dimension(497, 113));

        naturalFormaDeMuerte.setFont(Fuente.FUENTE_RADIOBUTTON);
        naturalFormaDeMuerte.setText("natural");
        naturalFormaDeMuerte.setPreferredSize(new java.awt.Dimension(115, 23));
        naturalFormaDeMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                naturalFormaDeMuerteActionPerformed(evt);
            }
        });

        homicidioFormaDeMuerte.setFont(Fuente.FUENTE_RADIOBUTTON);
        homicidioFormaDeMuerte.setText("homicidio");
        homicidioFormaDeMuerte.setPreferredSize(new java.awt.Dimension(115, 23));
        homicidioFormaDeMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                homicidioFormaDeMuerteActionPerformed(evt);
            }
        });

        accidentalFormaDeMuerte.setFont(Fuente.FUENTE_RADIOBUTTON);
        accidentalFormaDeMuerte.setText("accidental");
        accidentalFormaDeMuerte.setPreferredSize(new java.awt.Dimension(115, 23));
        accidentalFormaDeMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                accidentalFormaDeMuerteActionPerformed(evt);
            }
        });

        noDeterminadaFormaDeMuerte.setFont(Fuente.FUENTE_RADIOBUTTON);
        noDeterminadaFormaDeMuerte.setText("no determinada");
        noDeterminadaFormaDeMuerte.setPreferredSize(new java.awt.Dimension(115, 23));
        noDeterminadaFormaDeMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                noDeterminadaFormaDeMuerteActionPerformed(evt);
            }
        });

        suicidioFormaDeMuerte.setFont(Fuente.FUENTE_RADIOBUTTON);
        suicidioFormaDeMuerte.setText("suicidio");
        suicidioFormaDeMuerte.setPreferredSize(new java.awt.Dimension(115, 23));
        suicidioFormaDeMuerte.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                suicidioFormaDeMuerteActionPerformed(evt);
            }
        });

        textoFormaDeMuerte.setFont(Fuente.FUENTE_LABEL);
        textoFormaDeMuerte.setText("Especifique la forma de muerte");

        javax.swing.GroupLayout panelFormaDeMuerteLayout = new javax.swing.GroupLayout(panelFormaDeMuerte);
        panelFormaDeMuerte.setLayout(panelFormaDeMuerteLayout);
        panelFormaDeMuerteLayout.setHorizontalGroup(
            panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelFormaDeMuerteLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelFormaDeMuerteLayout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addGroup(panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(naturalFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(noDeterminadaFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addGroup(panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(panelFormaDeMuerteLayout.createSequentialGroup()
                                .addComponent(homicidioFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(18, 18, 18)
                                .addComponent(accidentalFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(suicidioFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addComponent(textoFormaDeMuerte))
                .addContainerGap(113, Short.MAX_VALUE))
        );
        panelFormaDeMuerteLayout.setVerticalGroup(
            panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelFormaDeMuerteLayout.createSequentialGroup()
                .addComponent(textoFormaDeMuerte)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(naturalFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(homicidioFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(accidentalFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(panelFormaDeMuerteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(noDeterminadaFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(suicidioFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(19, Short.MAX_VALUE))
        );

        panelDonante.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Donante", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, Fuente.FUENTE_PANEL_BORDE));
        panelDonante.setForeground(Fuente.COLOR_NORMAL);
        panelDonante.setPreferredSize(new java.awt.Dimension(497, 113));

        siDonante.setFont(Fuente.FUENTE_RADIOBUTTON);
        siDonante.setForeground(Fuente.COLOR_NORMAL);
        siDonante.setText("si");
        siDonante.setPreferredSize(new java.awt.Dimension(115, 23));
        siDonante.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                siDonanteActionPerformed(evt);
            }
        });

        noDonante.setFont(Fuente.FUENTE_RADIOBUTTON);
        noDonante.setForeground(Fuente.COLOR_NORMAL);
        noDonante.setText("no");
        noDonante.setPreferredSize(new java.awt.Dimension(115, 23));
        noDonante.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                noDonanteActionPerformed(evt);
            }
        });

        textoDonante.setFont(Fuente.FUENTE_LABEL);
        textoDonante.setForeground(Fuente.COLOR_NORMAL);
        textoDonante.setText("Posible donante");

        javax.swing.GroupLayout panelDonanteLayout = new javax.swing.GroupLayout(panelDonante);
        panelDonante.setLayout(panelDonanteLayout);
        panelDonanteLayout.setHorizontalGroup(
            panelDonanteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelDonanteLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(panelDonanteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(panelDonanteLayout.createSequentialGroup()
                        .addGap(10, 10, 10)
                        .addComponent(siDonante, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(18, 18, 18)
                        .addComponent(noDonante, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(textoDonante))
                .addContainerGap(217, Short.MAX_VALUE))
        );
        panelDonanteLayout.setVerticalGroup(
            panelDonanteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(panelDonanteLayout.createSequentialGroup()
                .addComponent(textoDonante)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(panelDonanteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(siDonante, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(noDonante, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(42, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(panelLugarYFecha, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(panelParteI, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(4, 4, 4))
                    .addComponent(textoDescriptivoVentana, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(botonAceptar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(botonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(panelParteI1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(panelParteII, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(panelFormaDeMuerte, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(panelDonante, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(textoDescriptivoVentana, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(panelParteI, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE)
                    .addComponent(panelLugarYFecha, javax.swing.GroupLayout.DEFAULT_SIZE, 144, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(panelParteI1, javax.swing.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE)
                    .addComponent(panelParteII, javax.swing.GroupLayout.DEFAULT_SIZE, 356, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(panelFormaDeMuerte, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(panelDonante, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 9, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(botonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(botonAceptar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void botonAceptarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonAceptarActionPerformed
        agregarOModificarFichaMortalidad();
}//GEN-LAST:event_botonAceptarActionPerformed

    private void botonCancelarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_botonCancelarActionPerformed
        cargoFichaMortalidad = false;
        this.dispose();
}//GEN-LAST:event_botonCancelarActionPerformed

    private void siDonanteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_siDonanteActionPerformed
        if (siDonante.isSelected()) {
            noDonante.setSelected(false);
        }
    }//GEN-LAST:event_siDonanteActionPerformed

    private void noDonanteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_noDonanteActionPerformed
        if (noDonante.isSelected()) {
            siDonante.setSelected(false);
        }
    }//GEN-LAST:event_noDonanteActionPerformed

    private void naturalFormaDeMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_naturalFormaDeMuerteActionPerformed
        if (naturalFormaDeMuerte.isSelected()) {
            homicidioFormaDeMuerte.setSelected(false);
            accidentalFormaDeMuerte.setSelected(false);
            noDeterminadaFormaDeMuerte.setSelected(false);
            suicidioFormaDeMuerte.setSelected(false);
        }
    }//GEN-LAST:event_naturalFormaDeMuerteActionPerformed

    private void homicidioFormaDeMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_homicidioFormaDeMuerteActionPerformed
        if (homicidioFormaDeMuerte.isSelected()) {
            naturalFormaDeMuerte.setSelected(false);
            accidentalFormaDeMuerte.setSelected(false);
            noDeterminadaFormaDeMuerte.setSelected(false);
            suicidioFormaDeMuerte.setSelected(false);
        }
    }//GEN-LAST:event_homicidioFormaDeMuerteActionPerformed

    private void accidentalFormaDeMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_accidentalFormaDeMuerteActionPerformed
        if (accidentalFormaDeMuerte.isSelected()) {
            homicidioFormaDeMuerte.setSelected(false);
            naturalFormaDeMuerte.setSelected(false);
            noDeterminadaFormaDeMuerte.setSelected(false);
            suicidioFormaDeMuerte.setSelected(false);
        }
    }//GEN-LAST:event_accidentalFormaDeMuerteActionPerformed

    private void noDeterminadaFormaDeMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_noDeterminadaFormaDeMuerteActionPerformed
        if (noDeterminadaFormaDeMuerte.isSelected()) {
            homicidioFormaDeMuerte.setSelected(false);
            accidentalFormaDeMuerte.setSelected(false);
            naturalFormaDeMuerte.setSelected(false);
            suicidioFormaDeMuerte.setSelected(false);
        }
    }//GEN-LAST:event_noDeterminadaFormaDeMuerteActionPerformed

    private void suicidioFormaDeMuerteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_suicidioFormaDeMuerteActionPerformed
        if (suicidioFormaDeMuerte.isSelected()) {
            homicidioFormaDeMuerte.setSelected(false);
            accidentalFormaDeMuerte.setSelected(false);
            naturalFormaDeMuerte.setSelected(false);
            noDeterminadaFormaDeMuerte.setSelected(false);
        }
    }//GEN-LAST:event_suicidioFormaDeMuerteActionPerformed

    /**
     * Agrega/modifica la ficha de mortalidad del paciente.
     *
     */
    private void agregarOModificarFichaMortalidad() {
        //Valida todos los datos ingresados
        if (validarCampos()) {
            //Carga toda la información de la pantalla
            recopilarInformacion();

            if (MensajePresentacion.confirmarAltaFichaMortalidad() ==
                    JOptionPane.OK_OPTION) {
                if (FichaMortalidadLogica.agregarOModificarFichaMortalidad(
                        datosFichaMortalidad, GestionPacientePresentacion.getPaciente())) {
                    cargoFichaMortalidad = true;
                    this.dispose();
                }
            }
        } else {
            MensajePresentacion.errorDatosInvalidos();
        }
    }

    /**
     * Carga todos los datos ingresados en pantalla.
     * 
     */
    private void recopilarInformacion() {
        datosFichaMortalidad = new Object[13];
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_HORA_DE_MUERTE] =
                CapaLogica.separarTiempo(horaDeMuerteSpinner.getValue().toString());
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FECHA_DE_MUERTE] =
                fechaDeMuerte.getDate();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_LUGAR_DE_MUERTE] =
                lugarDeMuerte.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_A] =
                debidoAEnfermedad.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_B] =
                debidoBCausas.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_C] =
                debidoCCausas.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_D] =
                debidoDCausas.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_E] =
                debidoECausas.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_F] =
                otrasCondicionesFCondiciones.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_G] =
                otrasCondicionesGCondiciones.getText();
        
        datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_TEXTO_H] =
                otrasCondicionesHCondiciones.getText();
        
        if (naturalFormaDeMuerte.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FORMA_DE_MUERTE] =
                    "natural";
        } else if (homicidioFormaDeMuerte.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FORMA_DE_MUERTE] =
                    "natural";
        } else if (accidentalFormaDeMuerte.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FORMA_DE_MUERTE] =
                    "accidental";
        } else if (noDeterminadaFormaDeMuerte.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FORMA_DE_MUERTE] =
                    "no determianda";
        } else if (suicidioFormaDeMuerte.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_FORMA_DE_MUERTE] =
                    "suicidio";
        }
        
        if (siDonante.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_DONANTE] = "si";
        } else if (noDonante.isSelected()) {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_DONANTE] = "no";
        } else {
            datosFichaMortalidad[CapaLogica.FICHA_MORTALIDAD_DONANTE] = "";
        }
    }

    /**
     * Valida en conjunto todos los campos. Aquellos que son obligatorios y los
     * que no.
     *
     * @return true si el objeto está listo para cargarse, false en caso
     * contrario
     */
    private boolean validarCampos() {
        boolean lugarYFechaDeMuerte = validarCamposLugarYFechaDeMuerte();
        boolean parteI = validarCamposParteI();
        boolean formaDeMuerte = validarFormaDeMuerte();

        return (lugarYFechaDeMuerte && parteI && formaDeMuerte);
    }

    /**
     * Valida los campos correspondiente al panel lugar y fecha de muerte
     *
     * @return true si los campos estan listos para cargarse, false en caso
     * contrario
     */
    private boolean validarCamposLugarYFechaDeMuerte() {
        boolean fechaRetorno = false;
        
        //Manejo de la validación de fecha
        if (!CapaValidacion.validarFecha(
                fechaDeMuerte.getDate(), null, true)) {
            textoHoraYFechaDeMuerte.setForeground(
                    Fuente.COLOR_ERROR);
            textoHoraYFechaDeMuerte.setToolTipText(InformeError.
                    INFORME_ERROR_USO_COMUN_HORA_Y_FECHA);
            fechaRetorno = false;
        } else {
            textoHoraYFechaDeMuerte.setForeground(
                    Fuente.COLOR_NORMAL);
            textoHoraYFechaDeMuerte.setToolTipText(null);
            fechaRetorno = true;
        }

        return fechaRetorno;
    }

    /**
     * Valida los campos correspondiente al panel parte I
     *
     * @return true si los campos estan listos para cargarse, false en caso
     * contrario
     */
    private boolean validarCamposParteI() {
        boolean debidoA = false;

        //Debido a A
        if (!CapaValidacion.validarCampoObligatorio(
                debidoAEnfermedad.getText())) {
            textoDebidoAEnfermedad.setForeground(
                    Fuente.COLOR_ERROR);
            debidoA = false;
            textoDebidoAEnfermedad.setToolTipText(InformeError.
                    INFORME_ERROR_FICHA_MORTALIDAD_DEBIDO_A_ENFERMEDAD);
        } else {
            textoDebidoAEnfermedad.setForeground(
                    Fuente.COLOR_NORMAL);
            textoDebidoAEnfermedad.setToolTipText(null);
            debidoA = true;
        }

        return debidoA;
    }

    /**
     * Valida los campos correspondiente al panel forma de muerte
     *
     * @return true si los campos estan listos para cargarse, false en caso
     * contrario
     */
    private boolean validarFormaDeMuerte() {
        boolean retorno = false;

        if (!(naturalFormaDeMuerte.isSelected() ||
                homicidioFormaDeMuerte.isSelected() ||
                accidentalFormaDeMuerte.isSelected() ||
                noDeterminadaFormaDeMuerte.isSelected() ||
                suicidioFormaDeMuerte.isSelected())) {
            textoFormaDeMuerte.setForeground(
                    Fuente.COLOR_ERROR);
            textoFormaDeMuerte.setToolTipText(InformeError.
                    INFORME_ERROR_FICHA_MORTALIDAD_FORMA_DE_MUERTE);
            retorno = false;
        } else {
            textoFormaDeMuerte.setForeground(
                    Fuente.COLOR_NORMAL);
            textoFormaDeMuerte.setToolTipText(null);
            retorno = true;
        }

        return retorno;
    }

    /**
     * Imprime la información.
     */
    public void imprimir() {
        if (fichaMortalidad != null) {
            JEditorPane impresion = new JEditorPane();
            impresion.setText(FichaMortalidadLogica.getFichaMortalidadHTML(
                    fichaMortalidad));
            RestriccionAcceso.Imprimir(null, true, impresion,
                GestionPacientePresentacion.getPaciente());
        }
    }

    /**
     * Setea en cada componente del JDialog los eventos que capturarán la tecla
     * enter y escape.
     */
    private void setearEventosQueCapturanTeclaEnterYEscape() {
        //Declaración del evento a capturar
        KeyListener keyListenerEnter = new KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
                    //Llamada al método que capturará el boton enter y
                    //trabajará sobre el mismo
                    agregarOModificarFichaMortalidad();
                }
            }
        };
        //Declaración del evento a capturar
        KeyListener keyListenerEscape = new KeyAdapter() {
            public void keyPressed(java.awt.event.KeyEvent evt) {
                if (evt.getKeyCode() == KeyEvent.VK_ESCAPE) {
                    //Llamada al método que capturará el boton enter y
                    //trabajará sobre el mismo
                    dispose();
                }
            }
        };
        //Setear eventos
        lugarDeMuerte.addKeyListener(keyListenerEnter);
        lugarDeMuerte.addKeyListener(keyListenerEscape);
        debidoAEnfermedad.addKeyListener(keyListenerEnter);
        debidoAEnfermedad.addKeyListener(keyListenerEscape);
        debidoBCausas.addKeyListener(keyListenerEnter);
        debidoBCausas.addKeyListener(keyListenerEscape);
        debidoCCausas.addKeyListener(keyListenerEnter);
        debidoCCausas.addKeyListener(keyListenerEscape);
        debidoDCausas.addKeyListener(keyListenerEnter);
        debidoDCausas.addKeyListener(keyListenerEscape);
        debidoECausas.addKeyListener(keyListenerEnter);
        debidoECausas.addKeyListener(keyListenerEscape);
        otrasCondicionesFCondiciones.addKeyListener(keyListenerEnter);
        otrasCondicionesFCondiciones.addKeyListener(keyListenerEscape);
        otrasCondicionesGCondiciones.addKeyListener(keyListenerEnter);
        otrasCondicionesGCondiciones.addKeyListener(keyListenerEscape);
        otrasCondicionesHCondiciones.addKeyListener(keyListenerEnter);
        otrasCondicionesHCondiciones.addKeyListener(keyListenerEscape);

        ((DefaultEditor) horaDeMuerteSpinner.getEditor()).
                getTextField().addKeyListener(keyListenerEnter);
        ((DefaultEditor) horaDeMuerteSpinner.getEditor()).
                getTextField().addKeyListener(keyListenerEscape);

        ((IDateEditor) fechaDeMuerte.getDateEditor()).
                getUiComponent().addKeyListener(keyListenerEnter);
        ((IDateEditor) fechaDeMuerte.getDateEditor()).
                getUiComponent().addKeyListener(keyListenerEscape);

        naturalFormaDeMuerte.addKeyListener(keyListenerEnter);
        naturalFormaDeMuerte.addKeyListener(keyListenerEscape);
        homicidioFormaDeMuerte.addKeyListener(keyListenerEnter);
        homicidioFormaDeMuerte.addKeyListener(keyListenerEscape);
        accidentalFormaDeMuerte.addKeyListener(keyListenerEnter);
        accidentalFormaDeMuerte.addKeyListener(keyListenerEscape);
        noDeterminadaFormaDeMuerte.addKeyListener(keyListenerEnter);
        noDeterminadaFormaDeMuerte.addKeyListener(keyListenerEscape);
        suicidioFormaDeMuerte.addKeyListener(keyListenerEnter);
        suicidioFormaDeMuerte.addKeyListener(keyListenerEscape);
        siDonante.addKeyListener(keyListenerEnter);
        siDonante.addKeyListener(keyListenerEscape);
        noDonante.addKeyListener(keyListenerEnter);
        noDonante.addKeyListener(keyListenerEscape);

        botonAceptar.addKeyListener(keyListenerEscape);
        botonCancelar.addKeyListener(keyListenerEscape);
    }

    public static boolean seCargoFichaMortalidad() {
        return cargoFichaMortalidad;
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JRadioButton accidentalFormaDeMuerte;
    private javax.swing.JButton botonAceptar;
    private javax.swing.JButton botonCancelar;
    private javax.swing.JTextArea debidoAEnfermedad;
    private javax.swing.JScrollPane debidoAEnfermedadScrollPanel;
    private javax.swing.JTextArea debidoBCausas;
    private javax.swing.JScrollPane debidoBCausasScrollPanel;
    private javax.swing.JTextArea debidoCCausas;
    private javax.swing.JScrollPane debidoCCausasScrollPanel;
    private javax.swing.JTextArea debidoDCausas;
    private javax.swing.JScrollPane debidoDCausasScrollPanel;
    private javax.swing.JTextArea debidoECausas;
    private javax.swing.JScrollPane debidoECausasScrollPanel;
    private com.toedter.calendar.JDateChooser fechaDeMuerte;
    private javax.swing.JRadioButton homicidioFormaDeMuerte;
    private javax.swing.JSpinner horaDeMuerteSpinner;
    private javax.swing.JTextArea lugarDeMuerte;
    private javax.swing.JScrollPane lugarDeMuerteScrollPanel;
    private javax.swing.JRadioButton naturalFormaDeMuerte;
    private javax.swing.JRadioButton noDeterminadaFormaDeMuerte;
    private javax.swing.JRadioButton noDonante;
    private javax.swing.JTextArea otrasCondicionesFCondiciones;
    private javax.swing.JScrollPane otrasCondicionesFCondicionesScrollPanel;
    private javax.swing.JTextArea otrasCondicionesGCondiciones;
    private javax.swing.JTextArea otrasCondicionesHCondiciones;
    private javax.swing.JScrollPane otrasCondicionesHCondicionesScrollPanel;
    private javax.swing.JScrollPane otrasCondicionesgCondicionesScrollPanel;
    private javax.swing.JPanel panelDonante;
    private javax.swing.JPanel panelFormaDeMuerte;
    private javax.swing.JPanel panelLugarYFecha;
    private javax.swing.JPanel panelParteI;
    private javax.swing.JPanel panelParteI1;
    private javax.swing.JPanel panelParteII;
    private javax.swing.JRadioButton siDonante;
    private javax.swing.JRadioButton suicidioFormaDeMuerte;
    private javax.swing.JLabel textoDebidoAEnfermedad;
    private javax.swing.JLabel textoDebidoBCausas;
    private javax.swing.JLabel textoDebidoCCausas;
    private javax.swing.JLabel textoDebidoDCausas;
    private javax.swing.JLabel textoDebidoECausas;
    private javax.swing.JLabel textoDescriptivoVentana;
    private javax.swing.JLabel textoDonante;
    private javax.swing.JLabel textoFormaDeMuerte;
    private javax.swing.JLabel textoHoraYFechaDeMuerte;
    private javax.swing.JLabel textoLugarDeMuerte;
    private javax.swing.JLabel textoOtrasCondicionesFCondiciones;
    private javax.swing.JLabel textoOtrasCondicionesGCondiciones;
    private javax.swing.JLabel textoOtrasCondicionesHCondiciones;
    // End of variables declaration//GEN-END:variables
    private FichaMortalidad fichaMortalidad;
    private Object[] datosFichaMortalidad;
    private static boolean cargoFichaMortalidad;
}
